查看原文
其他

为什么Win10的bug比Win7多了这么多?

差评君 民工哥技术之路 2021-12-16

点击上方“民工哥技术之路”选择“星标”

每天10点为你分享不一样的干货

 读者福利!多达 2048G 各种资源免费赠送


本文授权转载自差评公众号,如需转载请联系原作者。


前段时间,有个视频在网上火了起来。
 
视频里的这位老哥,自称在微软工作了接近 15 年,狠狠批判了一番微软 Windows 10 的开发质量,声情并茂地说了小 20 分钟。

这位名叫 Jerry Berg 的老哥展示了自己工作中获得的荣誉
 
视频有点儿长,差评君就不放了,总结一下的话其实无非就是说了一件事情:
 
微软新任 CEO 纳德拉为了节省开支,裁撤了大半个测试团队,导致很多 Windows 10 系统中的错误直到正式发布都没有被发现。
 
而这些直到 Win 10 正式发布还存在于系统中的错误,被使用了 Win 10 的广大消费者撞了个正着。
 
「 Win 10 以来哪次版本升级没有 bug?」
来源:知乎 @十三

所以根据这个老哥的爆料, Win 10 的口碑不好是因为微软 CEO 萨提亚·纳德拉。他只在意账面上的数字好不好看,却不对新版操作系统的稳定性负责。
 
这个视频下不少人也跟着评论,对 Windows 10 的质量义愤填膺。


「 我不想让 Win 10 不经我允许就更新 」

为什么大家会对这个问题有这么大批评呢?

因为科技公司里的测试团队和开发团队同样很重要。
 
操作系统其实和我们平常用的计算器、QQ、360 浏览器一样,也是一款软件,是程序员用编程代码一行一行写出来的


但如果说编写一个计算器是装修了一间房子的话,那编写一个操作系统就是从地基到管道设施等方面入手建了一幢大楼 —— 后者的代码量极为巨大而且要顾及很多功能。
 
而代码都是人写的,肯定难免会出错,每年计算机代码失误造成错误的新闻差友们肯定没少见。

Windows 10 的代码量虽然没有公开,但据专业人士估计应该是几千万行,不出错的概率几乎是 0 。

尤其有一些错误,可能 Intel 家的 CPU 配合 NVIDIA 家的显卡不会遇到,但可能插上 AMD 的显卡,电脑立马就蓝屏了。

或者是一些错误,在使用 Chrome 浏览器上网的时候不会遇到,但换成了火狐要么网页不出声了,要么画面花了。
 
所以在 Windows 操作系统正式对外发布之前,微软内部会有一个测试团队,用各种不同的硬件去运行最新版的操作系统。

就像视频里的这位老哥一样


如果蓝屏了、报错了,或者遭遇了其他各种各样的奇葩故障,这些测试团队成员就能很快对接到 Windows 操作系统的开发人员,之后修复这些故障。
 
同时,测试团队不光要观察程序的行为,也要用大量的「 自动化测试 」来检查程序的代码。

越来越多的软件开发者开始使用自动化测试工具
来源:微软 Azure 宣传资料

这个所谓的自动化测试,说的简单点就是根据设定好的测试流程,让操作系统运行一遍指定的代码。
 
就好比测试遥控器有没有问题,就按照顺序把 1、2、3、4、5、6 键都按一遍,如果电视都有正确的反应,那遥控器就是好的。

自动化测试就差不多是这个逻辑,只要一套代码运行下来没有问题,那操作系统就是好的。

所以,测试团队的作用就相当于帮广大消费者「 踩坑 」,确定了没有大坑的 Windows 版本才能正式发布。

然而操作系统的复杂程度远远不是遥控器能比的,很多错误的发生都很「 玄学 」,很多问题不是运行一套代码就能发现的

比如为啥选了中文,大半画面还是英文?
 
而对于 Windows 这么庞大的项目,光有测试团队都不一定够,因此他们还有「 狗粮文化 」( dogfooding ) 陪伴。
 
在产品圈子里,「 吃你自己的狗粮 」指的是公司员工提前使用还没有发布的不稳定版本,在使用中发现并修复产品存在的问题。

说白了,自己做的东西自己用,要是自己造了孽。。。那也自己受。
 
和恋爱中散发着酸臭味的狗粮并不是同一种玩意。
来源:知乎用户 @叛逆者

这么做是因为程序员都是经验丰富的开发者,他们不光可以 review 代码,主动报告问题,帮助排查,这样改 BUG 更快。

但是。。。你不能过于依赖狗粮文化呀!

哪怕以往有庞大测试团队 + 狗粮文化做质保的 Windows 都会偶尔出现 BUG ,这测试团队再精简。。。结果就是很多 Windows 多年用户反馈 Win 10 没有 Win 7 和 Win 8 稳定。
 
远的不说,今年的 Win 10 「 三月更新 」,楞是因为错误不断,直到 5 月份才改名为「 五月更新 」正式推送。
来源:微软 Windows 官网

不仅如此, Win 10 的开发节奏似乎也有点和「 质量保证 」这个概念对着干。。。
 
我们来数数以前历代的 Windows 版本,Win XP 是 2001 年 8 月发布的;而它续作 Vista 是 2005 年 11 月发布的。Win 7 和 Win 8 也分别于 2009 年 7 月和 2012 年 10 月才发布。
 
可以看出来,以往的微软,每过 3 到 4 年,才会发布一款新的操作系统。
 
然而等到了 Win 10,微软宣布每半年就要发布一款新的操作系统


大概意思就是,以后没有 Win 11 了,就叫 Win 10 不改了,界面也不做大的改动,但每半年的 Win 10 更新都会加入一些新功能。
来源:维基百科图表

颇有点学习 Android 和苹果 iOS 的意思,界面不怎么变,可新功能却不少。但你一电脑操作系统,能和手机一样搞嘛。


每次 iOS 更新完,网上都各种抱怨不停,不是发热掉电,就是 App 闪退卡死。


而这还是 iOS 一年一个大版本的前提下,电脑的软硬件复杂程度可不比 iPhone 差,居然还要半年一个大版本更新。。。


这么整下来,一个精简过的测试团队哪里顶的住啊?自动化测试的代码说到底不还是要人来写么?


借着 Jerry Berg 老哥爆的料,网上激起了这么一通微软对于产品质量的态度质疑,难道微软自己不在乎吗?


其实人家肯定也意识到了,而且差评君觉得这个批评来得晚了些:微软在这么干了快 4 年之后,也终于觉得这么干不妥了,决定取消半年一个大版本更新。


以后的 Win 10,在 3 月发布大更新,到了 9 月则只会发布一个小修小补的「 稳定向更新 」。


这个决定的背后,其实代表着紧张了 4 年多的微软,终于有机会歇一口气了


2014 年,正好是 Win 10 正式发布的前一年,萨提亚·纳德拉成为了微软的第三任 CEO,但这个时间点其实有些尴尬。

当时微软的处境稍稍有些尴尬:Windows 手机无人问津,市值下滑,甚至看家项目 Windows 操作系统的市场份额也不断被隔壁的苹果 macOS 挤压。


因此纳德拉上任后便开始了微软的自救之路,不再固步自封,而是以开放的心态吸取对手的长处。

比如微软居然舍弃了自研的浏览器核心,转而拥抱对手的技术,把谷歌的 Chromium 内核用在了自家的 Edge 浏览器里。

又比如微软洒脱地放弃了死守了好几年的 WP 手机系统,转而在 Android 和 iOS 上开发优秀的 App。


而 Windows 10 如此激进的更新周期,也只是由于当时的微软太紧迫了


当时的 macOS 功能比 Win 10 丰富的不是一点半点,如果 Win 10 不能尽快赶上 macOS,用户只会流失的更厉害。


比如微软推出了 Insider 内测项目,让用户来参与测试体验,和开发者们共享狗粮:只需要按一个按钮就能参与到最新 Windows 系统的测试中,给未来的 Windows 系统提建议。

差评君在加入 Insider 之后没少给新系统提建议


而这些建议显然能够得到回应,比如微软曾经考虑过移除经典的「 画图 」程序,甚至就真的在某个内测版里这么干了。


然而就是由于内测参与者们的抗议,这款情怀小工具在不久之后又被添加回了最新的测试版中,起死回生。

看到他们最近的这些改善产品质量的动作,差评君觉得也许当年精简测试团队的操作只是不得已而为之。

也许随着财报见好,开发预算放松之后,微软又会重新扩大测试团队,说不定我们能用到真正稳定的 Win 10 了。


微软其实还是那个实力雄厚的软件巨人,只是跑起来有些喘。


但等它歇下来之后,我们会发现,它最在乎的,依旧是用户的使用体验。



“ 微软活得这么长久,不是没有原因的。 

关注 民工哥技术之路 微信公众号对话框回复关键字:1024 可以获取一份最新整理的技术干货:包括系统运维、数据库、redis、MogoDB、电子书、Java基础课程、Java实战项目、架构师综合教程、架构师实战项目、大数据、Docker容器、ELK Stack、机器学习、BAT面试精讲视频等。

MySQL 同步复制及高可用方案总结

华为开始销售预装深度 Linux 的笔记本电脑

聊聊自己的高效学习方法~

接私活必备的 10 个开源项目!

ES 慢查询日志收集实战总结

如何去写一手好SQL ?

点击【阅读原文】发现更多精彩内容~~

在看的你,请点这里↓↓↓
: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存